#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QFileSystemModel>
#include <QDir>
#include <QFileDialog>
#include <QDebug>

#include <filehandler.h>


namespace Ui {
class Widget;
}

/**
* @class Widget
*
* @brief Setzt die Funktionen des GUI.
*
* Diese Klasse stellt die Funktionen und Einstellungen der GUI bereit.
*/
class Widget : public QWidget
{
    Q_OBJECT
    
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    QString fileToBeEncrypted;
    QString fileTargetFolder;
    QString filePrivateFile;
    FileHandler fileHandler;
    void ENCRtextCaesar(int MODE, QString sourcetext);
    void ENCRbinPKey(QByteArray sourcefile, QByteArray key, int decr);


    
private:
    Ui::Widget *ui;


public slots:
    void openFileToBeEnc(void);
    void openFilePrivateFile(void);
    void openFiles(void);
    void openDir(void);
    void saveFile(void);
    void resetAll(void);
    void resetEncParams(void);
    void showOrHideTargetDestination(void);
    void ENCRstartEncrypt(void);
    void ENCRstartDecrypt(void);


};

#endif // WIDGET_H
